草庐IT

Java BufferedWriter,OutputStreamWriter 能够写入关闭的 FileOutputStream

全部标签

c# - 谁应该负责关闭流

我正在编写一个创建文件“目录”的应用程序,这些文件可以与其他元数据文件(例如附件和缩略图)一起归属。我正在尝试将目录的接口(interface)抽象到目录的消费者不需要了解用于存储文件的底层文件系统的程度。所以我创建了一个名为IFileSystemAdaptor的接口(interface),如下所示。publicinterfaceIFileSystemAdaptor:IDisposable{voidWriteFileData(stringfileName,Streamdata);StreamReadFileData(stringfilename);voidDeleteFileData(

c# - 连接未关闭,连接的当前状态为打开

我正在编写ASP.NET应用程序。在我的数据层中,查询前后打开和关闭了一个sql连接。SqlConnection被保存为单个类的私有(private)字段。类中的每个数据库调用都使用相同的结构:conn.Open();try{//databasequeryinghere}finally{conn.Close();}然而,在极少数情况下,我会收到“连接未关闭”的异常。连接的当前状态是打开的。不可能重现该问题,因为它很少起源于代码的不同部分。我的应用程序中涉及一些线程,但新线程也会生成新的数据层类,从而生成新的连接对象。我不明白如何使用上面的代码让连接在打开时徘徊。连接打开后不应该一直关闭

c# - 来自模态对话框的模态对话框 - 当第二个关闭时都关闭 - 为什么?

C#/.NET3.5/WinForms我有一个可以打开模态对话框的窗体,该窗体可以打开另一个模态对话框窗体。内部对话框窗体有OK和Cancel按钮,它的AcceptButton和CancelButton分别设置为它们。当我在内部对话框中按下Enter键或单击“确定”时,外部对话框也会关闭。我看不到我在做什么-这是预期的行为吗?我可以提供代码,但我不想把它搞得一团糟。 最佳答案 发生这种情况是因为ShowDialog调用也修改了其所有者的状态。为防止这种情况发生,您需要在ShowDialog调用之后将第一个模态对话框的DialogRe

c# - 将大量文本写入文本框

我正在将大量格式化文本的日志写入.netWindows窗体应用程序中的文本框。一旦数据超过几兆就变慢了。因为我要附加字符串,所以每次都必须重新分配,对吗?我只需要将值设置到文本框一次,但在我的代码中,我正在执行line+=data数万次。有没有更快的方法来做到这一点?也许是不同的控制?有我可以使用的链表字符串类型吗? 最佳答案 如果文本框是增量添加的,例如日志输出,StringBuilder将无济于事。但是,如果上述情况属实并且您的更新足够频繁,您可能需要缓存一定数量的更新,然后一步添加它们(而不是不断添加)。这将为您节省许多字符串

c# - 如何在单元测试类的 [ClassInitialize()] 中写入输出?

我正在为我的C#.NET应用程序的持久层编写一些单元测试。在测试类的测试执行之前和之后,我想做一些清理以清除可能插入的虚拟值,因此,这种清理发生在标有属性[ClassInitialize()]和[ClassCleanup()]。(我知道更好的方法是使用内存数据库,但就我们依赖大量存储过程而言,这并不是真正可行的....)我想输出一些关于清理结果的信息,但我找不到在VISUALStudio2010测试结果中获取输出的方法。这就是我目前所做的:///...lotsofstuffbefore...//globalforthetestrunprivatestaticTestContextcon

c# - 如何在通过 FileStream 写入文件时锁定文件?

我正在尝试弄清楚如何使用FileStream和BinaryWriter编写二进制文件,并在我编写时保持文件锁定以供读取。我特别不希望其他应用程序/进程能够在写入时读取它。//codetodeclarebaasabytearray//dpathisthepathtothefileFileStreamBinaryFile=newFileStream(dpath,FileMode.Create,FileAccess.Write);BinaryWriterWriter=newBinaryWriter(BinaryFile);Writer.Write(ba);Writer.Close();Bin

c# - 在 WPF 中,我如何实现 ICommandSource 以使我的自定义控件能够使用来自 xaml 的命令?

您能否提供一个示例,说明您如何实现ICommandSource接口(interface)。因为我希望我的UserControl具有此功能,它没有在xaml中指定命令的能力。并能够在用户单击CustomControl时处理命令。 最佳答案 这是一个例子:publicpartialclassMyUserControl:UserControl,ICommandSource{publicMyUserControl(){InitializeComponent();}publicICommandCommand{get{return(IComma

c# WinForms - 在单击某些项目后防止 ContextMenu 关闭

我正在使用System.Windows.Forms.ContextMenu。我想这样做,所以当您单击某些按钮时,它不会关闭菜单。现在我让它工作,只要你点击一个,它就会在同一位置重新打开菜单。唯一的问题是它看起来很糟糕,因为您可以看到菜单闪烁。有没有更好的方法来做到这一点?WPF的ContextMenu具有StaysOpen属性,但WinForms没有。(有什么方法可以使用WPF的ContextMenu吗?)我不想使用ContextMenuStrip,它可以做到这一点,因为ContextMenu看起来好多了。编辑:我不会将此标记为解决方案,因为这样做不好。如果您需要按照我的问题进行操作,

c# - 启动新窗口时如何关闭当前窗口(在代码中)

SignInWindowsignIn=newSignInWindow();signIn.ShowDialog();上面的代码在我的MainWindow类中。当显示新窗口时,我希望关闭当前窗口。执行此操作的最佳方法是什么?我的应用程序是C#WPF应用程序我试过了,但是当它被调用时,我的应用程序退出了staticprivatevoidCloseAllWindows(){for(intintCounter=App.Current.Windows.Count-1;intCounter>=0;intCounter--)App.Current.Windows[intCounter].Close()

c# - 如何使用计时器在 10 秒后关闭(自动隐藏)WPF 窗口

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。如何在C#中使用计时器在10秒后关闭(自动隐藏)WPF窗口?